package com.yvan;

import com.google.common.collect.Lists;

import java.util.ArrayList;

public interface Consts {

    String ACTION_INSERT_UPDATE = "insertUpdate";
    String ACTION_INSERT = "insert";
    String ACTION_UPDATE = "update";
    String ACTION_DELETE = "delete";
    String ACTION_QUERY = "query";
    String ACTION_RELATION = "relation";
    String ACTION_TYPE = "type";
    String ACTION_FOR_TYPE = "forTable";
    ArrayList<String> ACTION_TYPES = Lists.newArrayList(
            ACTION_INSERT_UPDATE,
            ACTION_INSERT,
            ACTION_UPDATE,
            ACTION_DELETE,
            ACTION_QUERY,
            ACTION_RELATION
    );

    String TABLE_ID = "tableId";
    String TABLE_PK = "pk";
    String TABLE_COLUMNS = "columns";
    String TABLE_ENTITY = "entity";
    String TABLE_ENTITY_IMPORTS = "imports";
    String TABLE_ACTION = "action";

    String COLUMN_JAVA_NAME = "javaName";
    String COLUMN_DB = "db";
    String COLUMN_JSON = "json";
    String COLUMN_JSON_N = "n";
    String COLUMN_JAVA_TYPE = "javaType";
    String COLUMN_DB_AN = "dbAn";
    String COLUMN_DB_AN_P = "p";
    String COLUMN_DB_AN_Y = "y";
    String COLUMN_DB_AN_N = "n";
    String COLUMN_JAVA_TYPE_STRING = "String";
    String COLUMN_JAVA_TYPE_DATETIME = "DateTime";
    String COLUMN_JAVA_TYPE_BIG_DECIMAL = "BigDecimal";
    String COLUMN_JAVA_TYPE_BOOLEAN = "Boolean";
    String COLUMN_JAVA_TYPE_LONG = "Long";
    String COLUMN_JAVA_TYPE_INTEGER = "Integer";
    String COLUMN_JAVA_TYPE_SHORT = "Short";
    String COLUMN_JAVA_TYPE_DOUBLE = "Double";
    String ACTION_COLUMNS = "columns";
    String ACTION_SP = "---";

    String JAVA_GENERATOR = "JavaGenerator";
    String JAVA_CONTROLLER = "Controller";
    String JAVA_SERVICE = "Service";
    String JAVA_ENTITY = "Entity";
    String JAVA_MAPPER = "Mapper";
    String JAVA_VO = "Vo";
    ArrayList<String> JAVA_CATEGORYS = Lists.newArrayList(
            JAVA_CONTROLLER,
            JAVA_SERVICE,
            JAVA_ENTITY,
            JAVA_MAPPER,
            JAVA_VO
    );
    String JAVA_NAMESPACE = "namespace";
    String JAVA_BASE_PATH = "basePath";
    String JAVA_FOR_ACTION = "forAction";
    String JAVA_FOR_TABLE = "forTable";
    String JAVA_TEMPLATE = "template";

    String JAVA_CATEGORY = "category";
    String JAVA_DISABLE = "disable";
    String JAVA_IMPORTS = "imports";
    String JAVA_CLASS_NAME = "className";
    String JAVA_FULL_CLASS_NAME = "fullClassName";
    String JAVA_URL = "url";
    String JAVA_ACTION = "action";
    String JAVA_FILE = "file";

    String File = "File";
    String SNIPPET = "snippet.md";
}
